//
//  LBLoopScrollView.h
//  LBLoopScrollView
//
//  Created by LINAICAI on 2017/6/5.
//  Copyright © 2017年 LINAICAI. All rights reserved.
//

#import <UIKit/UIKit.h>
//轮播组件滚动方向
typedef NS_ENUM(NSUInteger, LBLoopScrollViewDirection) {
    LBLoopScrollViewDirectionLeft,//向左滚动
    LBLoopScrollViewDirectionRight,//向右滚动
    LBLoopScrollViewDirectionUp,//向上滚动
    LBLoopScrollViewDirectionDown,//向下滚动
};
@protocol LBLoopScrollViewDelegate <NSObject>
@optional
//轮播组件点击回调
- (void)LBLoopScrollViewDidClickWithIndex:(NSInteger)index;

//轮播组件页码改变时回调
- (void)LBLoopScrollViewChageCurrentPageWithIndex:(NSInteger)index;

@end
@interface LBLoopScrollView : UIView
//原数据
@property (nonatomic , strong)NSArray *originSources;
//轮播组件滚动方向
@property(nonatomic , assign)LBLoopScrollViewDirection direction;
//是否自动滚动
@property(nonatomic , assign)BOOL automatically;
//是否显示页码控件
@property(nonatomic , assign , getter=isShowPageControl)BOOL showPageControl;
//轮播间隔时间
@property(nonatomic , assign)NSTimeInterval timeInterval;
//委托代理
@property(nonatomic , weak)id<LBLoopScrollViewDelegate> delegate;
//暴露出来，为的是方便修改样式，但请切记不要在设置好数据源之后再设置他的numberOfPages和currentPage
@property (nonatomic , strong)UIPageControl *pageControl;
//针对子类如果想修改或者添加视图可以在这个方法中添加和修改，但请切记不要主动调用该方法，因为没必要
- (void)prepareDisplay;
//初始化方法
- (instancetype)initWithFrame:(CGRect)frame images:(NSArray *)images;
- (instancetype)initWithimages:(NSArray *)images;
@end
